In electrical or electronic systems, individual system modules, for instance various electronic assemblies, various electronic components, in each case arranged on an individual assembly (for instance various semi-conductor components arranged on an individual assembly), various sub-components provided in one and the same component (in particular various elements of a semi-conductor component, for instance of a memory and/or computing circuit, for instance of a micro-controller or micro-processor, etc.) etc., communicate via a transfer medium—for example a bus system—consisting of one or more transfer lines.
Bus systems can be used jointly by several, in particular by two or more than two modules/components/elements.
Many conventional bus systems consist of several partial systems, for example a data bus—consisting of one or more data lines—for the transmission of actual useful data, and/or of an address bus—consisting of one or more address lines—for the transmission of address data, and/or a control bus—consisting of one or more control lines—for the transmission of control data, etc.
In comparison to this, a so-called LIN bus system is of a substantially simpler construction (LIN=Local Interconnect Network). A LIN bus system consists in general only of one single transmission line, with a plurality of various assemblies/components/elements able to be connected with it. Consequently both useful data and address and/or control data need to be transmitted via the LIN bus transmission line.
The assemblies/components/elements connected with a LIN bus system usually contain just three inputs; one input for the LIN bus transmission line and two supply voltage inputs.
In terms of the LIN bus protocol any required combination of data length and content is allowed in principle; no pre-defined control words are specified by the protocol. Instead corresponding control words must be—individually—determined for each application.
LIN bus systems can be operated at data rates of for instance up to 20 Kbit/s; these systems are based on master/slave architecture with a single master and one or more slaves.
As a result of the relatively simple and cost-effective construction of LIN bus systems, they are often employed for the control of divided electrical systems in non-critical environments in terms of chronology and/or security, for instance for controlling automotive applications that are non-critical in terms of chronology and/or security.
Possible applications are for instance the micro-controller and/or micro-processor based control of DC and stepping motors for electrical window-winders and wing mirrors, the adjustment of headlight dip switches and the management of sensor information for the control of air-conditioners or seat positions etc., etc.
Conventional micro-controller and/or micro-processor systems contain one or more central control and/or computing units (Central Processing Units (CPUs), and/or CPU “cores”), which are connected with one or more memory devices, for instance with a program and a data storage device (“program memory”, and “data memory”).
The memory devices can be provided on one and the same chip as the corresponding micro-controller and/or micro-processor (a so-called “embedded” micro-controller and/or micro-processor system), or alternatively also separately to them.
The “program memory” in particular contains the sequence of commands to be processed by CPU core(s), i.e. the program (and in addition where appropriate data constants to be used by the CPU core(s)).
In the “data memory” for instance the variables—in particular those that may need to be modified during the processing of the program by the CPU core(s)—can be stored.
In order to load a program into the program memory of a micro-controller and/or micro-processor system, and/or to modify a program stored there, the corresponding micro-controller and/or micro-processor system can be brought from a normal operating mode into a programming mode, for instance by applying an appropriate signal to a pre-determined system pin.
In many applications—in particular for instance in LIN bus micro-controller and/or micro-processor systems—after the micro-controller and/or micro-processor system has been installed, and/or the micro-controller and/or micro-processor system has been connected with a corresponding bus system, the above pin is no longer accessible from the outside
With conventional LIN bus micro-processor systems therefore—while the above pin is still accessible—a basic program must first be loaded into the program memory; only then can the micro-processor system be installed and/or connected with the LIN bus system.
By transferring a special control word—“known” to the basic program (application-specific, and if required differing in each case)—via the LIN bus transmission line, the corresponding micro-processor can be brought from a normal operating mode into a programming mode; only then can the actual and/or client-specific program be transferred via the LIN bus transmission line to the micro-processor and stored in the above program memory.
What is a disadvantage however is inter alia, that the basic program must be loaded into the program memory before the micro-processor system is connected with the LIN bus system, so that the micro-processor can recognize a data sequence transferred via the LIN bus transmission line as the control word for the change-over into the programming mode.